package com.hlkj.pay.service.ad;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import com.hlkj.framework.common.pojo.PageResult;
import com.hlkj.pay.dto.ad.query.AdInfoQueryDto;
import com.hlkj.pay.infrastructure.model.ad.AdInfoConfigDO;
import com.hlkj.pay.infrastructure.model.ad.AdInfoDO;
/**
 * @author HlpayTeam
 * @date 2024/10/22 18:24
 */
public interface IAdInfoService {
	/**
	 *
	 * @param adInfoQueryDto
	 * @return
	 */
	PageResult<AdInfoDO> queryPage(AdInfoQueryDto adInfoQueryDto);
	/**
	 *
	 * @param id
	 * @return
	 */
	AdInfoDO queryById(Long id);
	
	/**
	 *
	 * @param adInfoDO
	 */
	void saveAd(AdInfoDO adInfoDO);
	/**
	 *
	 * @param udpateAdInfoDO
	 */
	void updateAd(AdInfoDO udpateAdInfoDO);
	/**
	 *
	 * @param id
	 */
	void delAd(Long id);
	/**
	 *
	 * @param id
	 * @param status
	 */
	void updateAdStatus(Long id, Integer status);
	/**
	 *
	 * @param id
	 * @return
	 */
	AdInfoConfigDO queryConfigByAdId(Long id);
	/**
	 *
	 * @param adInfoConfigDO
	 * @return
	 */
	void saveConfig(AdInfoConfigDO adInfoConfigDO);
	/**
	 *
	 * @param adInfoConfigDO
	 * @return
	 */
	void updateConfig(AdInfoConfigDO adInfoConfigDO);
	/**
	 *
	 * @param adInfoDO
	 */
	void updateStatistics(AdInfoDO adInfoDO);
}
